﻿// 4863. 构造新矩阵.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

/*
https://www.acwing.com/problem/content/4866/

给定一个 m
 行 n
 列的整数矩阵，行编号 1∼m
，列编号 1∼n
。

其中，第 i
 行第 j
 列的元素为 pij
。

你可以任意抽取其中不超过 n−1
 行元素，这些元素之间保持同一行列关系不变，构成一个新矩阵。

构成新矩阵后，我们可以确定一个最大的整数 L
，使得新矩阵中每一列都至少存在一个元素不小于 L
。

我们希望通过合理构造新矩阵，使得 L
 的值尽可能大。

请你计算并输出 L
 的最大可能值。

注意：矩阵一共有 m
 行，但是抽取的行数不能大于 n−1
 行，而不是 m−1
 行，读题时不要搞混行和列。

输入格式
第一行包含整数 T
，表示共有 T
 组测试数据。

每组数据首先包含一个空行。

第二行包含两个整数 m,n
。

接下来 m
 行，每行包含 n
 个整数，其中第 i
 行第 j
 个整数表示 pij
。

输出格式
每组数据输出一行结果，一个整数，表示 L
 的最大可能值。

数据范围
前三个测试点满足 1≤T≤5
，2≤n×m≤100
。
所有测试点满足 1≤T≤104
，2≤n
，2≤n×m≤105
，1≤pij≤109
，一个测试点内所有数据的 n×m
 值相加不超过 105
。

输入样例1：
5

2 2
1 2
3 4

4 3
1 3 1
3 1 1
1 2 2
1 1 3

2 3
5 3 4
2 5 1

4 2
7 9
8 1
9 6
10 8

2 4
6 5 2 1
7 9 7 2
输出样例：
3
2
4
8
2
*/
#include <iostream>

int main()
{
    std::cout << "Hello World!\n";
}

 